## Postman-коллекция для проверки API

Файл `QRKot.postman_collection.json` содержит postman-коллекцию - набор подготовленных запросов для проверки работы API.

## Подготовка проекта к запуску коллекции:
1. Проверьте, что виртуальное окружение развёрнуто и активировано, зависимости проекта установлены.
2. Создайте пустую базу данных:
    - Удалите существующий файл базы данных (если он есть) или переместите/переименуйте его, если есть необходимость сохранить текущую базу;
    - Примените миграции: `alembic upgrade head`;
    - Создайте суперпользователя: выполните скрипт `python setup_for_postman.py`, размещённый в корне проекта.
3. Запустите веб-сервер разработки.

Скрипт для создания суперпользователя использует функцию `create_user` из модуля `app/core/init_db.py`. Если в вашем коде нет этой функции - создайте суперпользователя с такими учётными данными:  
email: `root@admin.ru`  
password: `root`  
  
*После подготовки проекта создайте копию файла базы данных `fast_api.db`: 
она может пригодиться для повторного запуска коллекции.*

## Загрузка коллекции в Postman:

1. Запустите Postman.
2. В левом верхнем углу нажмите `File` -> `Import`.
3. Во всплывающем окне будет предложено перетащить в него файл с коллекцией либо выбрать файл через окно файлового менеджера.
Загрузите файл `QRKot.postman_collection.json` в Postman.

## Запуск коллекции:

1. После выполнения предыдущих шагов в левой части окна Postman во вкладке `Collections` появилась импортированная коллекция.
Наведите на неё курсор, нажмите на три точки напротив названия коллекции и в выпадающем списке выберите `Run collection`. В центре экрана появится список запросов коллекции,
а в правой части экрана - меню для настройки параметров запуска.
2. В правом меню включите функцию `Persist responses for a session` - это даст возможность посмотреть ответы API после запуска коллекции.
3. Нажмите кнопку `Run <название коллекции>`.
4. В центре экрана отобразится результат запуска коллекции и тестов. Провалившиеся тесты можно отфильтровать, перейдя во вкладку `Failed`.
Нажмите на тест, чтобы увидеть детали выполненного запроса и полученного ответа.

## Повторный запуск коллекции:
1. Замените текущий файл с базой данных на ранее созданную копию либо настройте базу данных заново по инструкции, указанной в разделе [Подготовка проекта к запуску коллекции](#подготовка-проекта-к-запуску-коллекции).
2. Запустите веб-сервер разработки.

## Примечание
Запросы в коллекции расчитаны на их последовательное выполнение в порядке, установленном в коллекции. При ручном непоследовательном выполнении запросов корректность работы тестов не гарантирована.

## Ограничения от разработчиков Postman
В бесплатной версии программы Postman есть техническое ограничение: коллекцию можно беспрепятственно запускать 25 раз в месяц.  
После исчерпания этого лимита Postman не превратится в тыкву: он по-прежнему будет запускать коллекции, но запуск иногда будет блокироваться на 30 секунд (иногда дважды подряд), и в это время в интерфейсе программы будет появляться предложение приобрести платную версию.  
Вы можете купить платную версию, а можете просто продолжить пользоваться бесплатной версией, время от времени прерываясь на просмотр рекламы.

Для отправки отдельных запросов никаких ограничений нет.
